package com.kws.system.domain.merchant;


import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * 商品-设备(Device)表实体类
 *
 * @author yxy
 * @since 2024-10-22 15:25:12
 */
public class TbDevice implements Serializable {
    private static final long serialVersionUID = 122326762904706576L;

    @TableId(type = IdType.AUTO)
    @ApiModelProperty("设备id")
    private Long id;

    @ApiModelProperty("商家id")
    private Long merchantId;
    @ApiModelProperty("商家名称")
    @TableField(exist = false)
    private String merchantName;
    @ApiModelProperty("设备编号")
    private String code;

    @ApiModelProperty("设备名称")
    private String name;

    @ApiModelProperty("设备类型-分类")
    private String type;

    @ApiModelProperty("设备图片")
    private String img;

    @ApiModelProperty("设备图片-多张")
    @TableField(exist = false)
    private List<String> imgArr;
    @ApiModelProperty("设备规格")
    private Integer specification;

    @ApiModelProperty("仓库数量")
    private Integer inventory;

    @ApiModelProperty("价格标签")
    private String priceTag;

    @ApiModelProperty("设备价格")
    private BigDecimal price;

    @ApiModelProperty("设备状态0上架 1下架 2审核中")
    private Integer status;

    @ApiModelProperty("设备品牌")
    private String brand;

    @ApiModelProperty("产地")
    private String origin;

    @ApiModelProperty("描述")
    private String remark;

    @ApiModelProperty("促销方式")
    private String sellType;

    @TableField(exist = false)
    @ApiModelProperty("商品类型(0设备 1服务)")
    private Integer  goodsType = 0;

    @TableField(fill = FieldFill.INSERT)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GTM+8")
    @ApiModelProperty("创建时间")
    private Date createTime;

    @TableField(fill = FieldFill.INSERT_UPDATE)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GTM+8")
    @ApiModelProperty("修改时间")
    private Date updateTime;

    @ApiModelProperty("销量")
    private Integer sales;

    @ApiModelProperty("保修期限")
    private String guaranteeTime;

    @ApiModelProperty("设备标签 0品牌自营 1千瓦时甄选 2视频号 3其他商品")
    private Integer deviceTag;

    @ApiModelProperty(value = "审核状态：0-待审核，1-一审通过，2-审核通过，3-驳回")
    private String auditStatus;

    @ApiModelProperty(value = "可用状态：0-不可用，1-可用")
    private String enable;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Long getMerchantId() {
        return merchantId;
    }

    public void setMerchantId(Long merchantId) {
        this.merchantId = merchantId;
    }

    public String getMerchantName() {
        return merchantName;
    }

    public void setMerchantName(String merchantName) {
        this.merchantName = merchantName;
    }

    public String getCode() {
        return code;
    }

    public void setCode(String code) {
        this.code = code;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    public String getImg() {
        return img;
    }

    public void setImg(String img) {
        this.img = img;
    }

    public List<String> getImgArr() {
        return imgArr;
    }

    public void setImgArr(List<String> imgArr) {
        this.imgArr = imgArr;
    }

    public Integer getSpecification() {
        return specification;
    }

    public void setSpecification(Integer specification) {
        this.specification = specification;
    }

    public Integer getInventory() {
        return inventory;
    }

    public void setInventory(Integer inventory) {
        this.inventory = inventory;
    }

    public String getPriceTag() {
        return priceTag;
    }

    public void setPriceTag(String priceTag) {
        this.priceTag = priceTag;
    }

    public BigDecimal getPrice() {
        return price;
    }

    public void setPrice(BigDecimal price) {
        this.price = price;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public String getBrand() {
        return brand;
    }

    public void setBrand(String brand) {
        this.brand = brand;
    }

    public String getOrigin() {
        return origin;
    }

    public void setOrigin(String origin) {
        this.origin = origin;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    public String getSellType() {
        return sellType;
    }

    public void setSellType(String sellType) {
        this.sellType = sellType;
    }

    public Integer getGoodsType() {
        return goodsType;
    }

    public void setGoodsType(Integer goodsType) {
        this.goodsType = goodsType;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    public Integer getSales() {
        return sales;
    }

    public void setSales(Integer sales) {
        this.sales = sales;
    }

    public String getGuaranteeTime() {
        return guaranteeTime;
    }

    public void setGuaranteeTime(String guaranteeTime) {
        this.guaranteeTime = guaranteeTime;
    }

    public Integer getDeviceTag() {
        return deviceTag;
    }

    public void setDeviceTag(Integer deviceTag) {
        this.deviceTag = deviceTag;
    }

    public String getAuditStatus() {
        return auditStatus;
    }

    public void setAuditStatus(String auditStatus) {
        this.auditStatus = auditStatus;
    }

    public String getEnable() {
        return enable;
    }

    public void setEnable(String enable) {
        this.enable = enable;
    }
}
